//#define _CRT_SECURE_NO_WARNINGS 1
//
//double average(int* salary, int salarySize)
//{
//	int* max = salary;
//	int * min = salary;
//	int i = 0;
//	if (salarySize <= 2)
//		return 0.0;
//	for (i = 1; i < salarySize; i++)
//	{
//		if (salary[i] > *max)
//			max = &salary[i];
//		else if (salary[i] < *min)
//			min = &salary[i];
//	}
//	double sum = 0;
//	for (i = 0; i < salarySize; i++)
//	{
//		if (&salary[i] == min || &salary[i] == max)
//			continue;
//		sum += (float)salary[i];
//	}
//	return (sum / (double)(salarySize - 2));
//}

#define _CRT_SECURE_NO_WARNINGS 1

i/*nt hammingWeight(uint32_t n)
{
	int count = 0;
	while (n != 0)
	{
		n &= (n - 1);
		count++;
	}
	return count;
}*/

int subtractProductAndSum(int n)
{
	int product = 1;
	int sum = 0;
	do
	{
		sum += n % 10;
		product *= n % 10;
		n /= 10;
	} while (n!=0);
	return product - sum;
}